package 自定义数据库连接池;

import javax.sql.DataSource;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
import java.util.ArrayList;
import java.util.logging.Logger;

public class MyDataSource implements DataSource {
    private ArrayList<Connection> list = new ArrayList<>();

    public MyDataSource() {
        for (int i = 0; i < 10; i++) {
            //list.add(JDBCUtils.getConnection());
            MyConnection mc = new MyConnection(JDBCUtils.getConnection(), list);
            list.add(mc);
        }
    }

    public void addBack(Connection con) {
        list.add(con);
    }

    @Override
    public Connection getConnection() throws SQLException {
        return list.remove(0);
    }

    @Override
    public Connection getConnection(String username, String password) throws SQLException {
        return null;
    }

    @Override
    public <T> T unwrap(Class<T> iface) throws SQLException {
        return null;
    }

    @Override
    public boolean isWrapperFor(Class<?> iface) throws SQLException {
        return false;
    }

    @Override
    public PrintWriter getLogWriter() throws SQLException {
        return null;
    }

    @Override
    public void setLogWriter(PrintWriter out) throws SQLException {

    }

    @Override
    public void setLoginTimeout(int seconds) throws SQLException {

    }

    @Override
    public int getLoginTimeout() throws SQLException {
        return 0;
    }

    @Override
    public Logger getParentLogger() throws SQLFeatureNotSupportedException {
        return null;
    }
}
